T2TT(Text-to-Text Translation)是文本轉文本的模型,語言可以選擇,不管是輸入及輸出都可以選擇語言,所涵蓋的語言代號請參考連結:SeamlessM4T語言別代號。本篇使用SeamlessM4T的T2TT功能,看看使用流程是否容易上手,以及翻譯結果的準確性。
安裝SeamlessM4T請參考文章安裝SeamlessM4T
先導入模型,本次推出的SeamlessM4T有兩種型號:seamlessM4T_large與seamlessM4T_large。以large版本為例,執行以下程式碼後即已備好模型:
import torch
from seamless_communication.models.inference import Translator
**translator = Translator(
"seamlessM4T_large",
"vocoder_36langs",
torch.device("cuda:0"),
torch.float16,
)
此步驟的用意為在GPU上初始化一個轉譯器,選用模型"seamlessM4T_large",以及聲碼器"vocoder_36langs",官方建議選擇半精度浮點數(float16)可能是因為要節省記憶體,但可能因此影響翻譯精準度。
將此文本丟入translator中,設定模型為”t2tt”,被轉譯語言為中文(官方公布的代碼為cmn),目標語言為英語(官方公布的代碼為eng):
translated_text, _, _ = translator.predict(
"今晚想吃什麼?",
"t2tt",
src_lang="cmn"
tgt_lang="eng"
)
print(translated_text) #What do you want for dinner tonight?
利用SeamlessM4T的T2TT功能(Text-to-Text Translation),將輸入文本匯入預備好的轉譯器(Translator),選擇任務t2tt,設定目標語言即可做轉譯。本篇使用繁體中文文本轉英語文本,內容正確,依據前幾次的功能測試”s2tt”、”s2st”中,轉成中文都預設轉為簡體中文,不確定該系統是否支援繁體中文,本次測試確認繁體中文也可以作轉譯。